import {
  IPanelItemProvider,
  PanelController,
  PanelItemController,
} from '@ibiz-template/runtime';
import { PanelRawItemController } from '@ibiz-template/vue3-util';

import { IPanelItem } from '@ibiz/model-core';

export class ListIconProvider implements IPanelItemProvider {
  component: string = 'ListIcon';

  async createController(
    panelItem: IPanelItem,
    panel: PanelController,
    parent: PanelItemController | undefined,
  ): Promise<PanelRawItemController> {
    const c = new PanelRawItemController(panelItem, panel, parent);
    await c.init();
    return c;
  }
}
